class MinStack {
public:
    vector<int> res;

    MinStack() 
    {

    }
    
    void push(int x) 
    {
        return res.push_back(x);
    }
    
    void pop() 
    {
        return res.pop_back();
    }
    
    int top() 
    {
        if(res.size() == 0)
            return -1;

        else return res[res.size() - 1];
    }
    
    int getMin() 
    {
        if(res.size() == 0)
            return -1;
        else 
            return *min_element(res.begin(), res.end());
        
    }
};